home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / amiga / gui / prcgntn1.lha / Precognition / source / InteractorClass.h < prev    next >
C/C++ Source or Header  |  1992-12-23  |  3KB  |  112 lines

  1. /* ==========================================================================
  2. **
  3. **                   InteractorClass.h
  4. **
  5. ** ⌐1991 WILLISoft
  6. **
  7. ** ==========================================================================
  8. */
  9.  
  10. #ifndef INTERACTORCLASS_H
  11. #define INTERACTORCLASS_H
  12.  
  13. #include <exec/types.h>
  14. #include "Interactor.h"
  15. #include "GraphicObjectClass.h"
  16.  
  17.  
  18. struct InteractorClass
  19. {
  20.    Class *isa;
  21.    char  *ClassName;
  22.  
  23.    void   (*CleanUp)
  24.             ( Interactor *self );
  25.    tPoint (*Location)
  26.             ( const Interactor *self );
  27.    tPoint (*SetLocation)
  28.             ( Interactor *self,
  29.               PIXELS      LeftEdge,
  30.               PIXELS      TopEdge );
  31.    tPoint (*Size)
  32.             ( const Interactor *self );
  33.    tPoint (*AskSize)
  34.             ( const Interactor *self,
  35.               PIXELS            Width,
  36.               PIXELS            Height );
  37.    tPoint (*SetSize)
  38.             ( Interactor *self,
  39.               PIXELS      Width,
  40.               PIXELS      Height );
  41.    UWORD  (*SizeFlags)
  42.             ( const Interactor *self );
  43.  
  44.    void (*Render)
  45.             ( Interactor *self,
  46.               RastPort  *RPort );
  47.  
  48.    BOOL (*SetTitle)
  49.             ( Interactor *self,
  50.               char      *title );
  51.  
  52.    char *(*Title)
  53.             ( Interactor *self );
  54.  
  55.    AlignInfo (*TextAlignment)( GraphicObject *self );
  56.  
  57.    AlignInfo (*SetTextAlignment)
  58.             ( GraphicObject *self,
  59.               UBYTE         Flags,
  60.               BYTE          Xpad,
  61.               BYTE          Ypad );    Class *BuilderMethods;
  62.  
  63. /*--- New Methods ----------------------------*/
  64.  
  65.    struct pcgWindow *(*InteractorWindow)
  66.             ( Interactor *self );
  67.  
  68.    void (*SetInteractorWindow)
  69.             ( Interactor         *self,
  70.               struct pcgWindow *window );
  71.  
  72.    Gadget *(*FirstGadget)
  73.             ( Interactor *self );
  74.  
  75.    USHORT (*nGadgets)
  76.             ( Interactor *self );
  77.  
  78.    ULONG (*IDCMPFlags)
  79.             ( Interactor *self );
  80.  
  81.    USHORT (*ClaimEvent)
  82.             ( Interactor    *self,
  83.               IntuiMessage *event );
  84.  
  85.    USHORT (*Respond)
  86.             ( Interactor    *self,
  87.               IntuiMessage *event );
  88.  
  89.    void (*Refresh)
  90.             ( Interactor    *self );
  91.  
  92.    BOOL (*EnableIactor)
  93.             ( Interactor *self,
  94.               BOOL       enable );
  95.  
  96.    BOOL (*isEnabled)
  97.             ( Interactor *self  );
  98.  
  99.    BOOL (*Activate)
  100.             ( Interactor *self,
  101.               BOOL       activate );
  102.  
  103.    BOOL (*isActive)
  104.             ( Interactor *self );
  105.  
  106. };
  107.  
  108. struct InteractorClass *InteractorClass( void );
  109.  
  110. void InteractorClass_Init( struct InteractorClass *class );
  111.  
  112. #endif